/******************************************************************************/
/*  Class TEMP                                                                */
/*  PO: S. Maslyakov, rusoil.9@gmail.com                                      */
/*                                                                            */
/*  Revision:     1.1                                                         */
/*  Date:         2010/12/03 01:09:33                                         */
/******************************************************************************/


#ifndef __TEMP_H
#define __TEMP_H


#include "data_types.h"
#include "Ds1820\ds1820.h"
#include "Temp\temp_def.h"




//==============================================================================
//  Class TEMP
//==============================================================================
class TEMP : public DS1820
{
public:
  static void Init_Temp();
  static void Init_temp_task();
  static void Activate_temp_task();
  inline static sint16_t GetTemperature(uint32_t _tempx) {
      return m_data.tempx[_tempx];
  }
  inline static void SetSignalNeedSearchSensors() {
      m_flg.isNeedSearch = TRUE_T;
  }

private:
  static void RestoreSettings();
  static void Task_temp_poll(void * par);
  static void Task_temp_process(void * par);
  static void StoreUid();
  static bool_t SmsSignalSend(const uint32_t _temp, const sint16_t _data);

  static __TOOLS_TEMP m_tools[eTEMP_END];
  static __DATA_TEMP  m_data;
  static __FLG_TEMP   m_flg;
};
//==============================================================================
//==============================================================================


#endif